In communication networks, it is generally desirable to prevent service outages and/or loss of network traffic. By way of example, such service outages and/or loss of network traffic may occur when a network device fails, loses power, is taken offline, is rebooted, a communication link to the network device breaks, etc.
In order to prevent such service outages and/or loss of network traffic, the communication networks may utilize inter-chassis redundancy (ICR). In an ICR system, there are typically two ICR devices (i.e., nodes). During normal operation, one ICR device is configured to be in active state while the other is configured to be in standby state. The active ICR device is responsible for handling network traffic with a plurality other network devices, including, for example, allocating Internet Protocol (IP) addresses to such other network devices.
Each ICR device maintains a local IP pool of IP addresses that can be allocated to such other network devices. Typically, when an active ICR device receives a request for an IP address, it selects from the local IP pool an unallocated IP address, and sends it to the requesting network device. The active ICR device then updates a local IP pool record to indicate that the respective IP address in the IP pool has been allocated and is no longer available for use. The active ICR device also communicates with the standby ICR device to inform the standby ICR device of the IP address that has been allocated. The standby ICR device uses this syncing information to update its local IP pool record, such that both IP pools mirror each other. This helps to prevent the standby ICR device from allocating an IP address that has already been allocated when the standby ICR device transitions to active state.
There are cases where the communication between the ICR devices to sync their IP pools does not provide adequate protection against both ICR devices allocating the same IP address to multiple network devices. For example, both ICR devices may sometimes be (erroneously or otherwise) configured to be active ICR devices. In such a case, IP address requests may be received by an ICR device before the syncing information can be received and processed to sync the IP pool. Another situation is when the communication channel itself is impaired, and syncing information is never received. In such cases, there is a possibility that the same IP address may be allocated by both ICR devices because their IP pools are not synced.